package com.xmy.study.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 数学应通关数-(正确、修正)
 * </p>
 *
 * @since 2024-02-20
 */
@TableName("cha_plan")
@Data
public class ChaPlan implements Serializable {

    private static final long serialVersionUID = 1L;

    
    @TableId(type = IdType.NONE)
    private Long id;

    
    @ApiModelProperty("校区id")
    private Long schoolId;

    @ApiModelProperty("年份")
    private Integer yearPart;

    
    @ApiModelProperty("季度")
    private Integer quarterNum;


    @ApiModelProperty("学员id")
    private Long studentId;

    @ApiModelProperty("年级")
    private Integer yearClassId;

    @ApiModelProperty("版本")
    private Long courseVersionId;

    @ApiModelProperty("科目")
    private Long subjectsId;

    private Integer taskCategoryId;


    @ApiModelProperty("备注")
    private String remark;


    @ApiModelProperty("是否删除，0正常，1删除")
    @TableLogic(value = "0", delval = "1")
    @TableField(select = false)
    private Integer deleted;


    @ApiModelProperty("添加时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    @ApiModelProperty("应通关-正确题数")
    private Integer rightNum;

    @ApiModelProperty("应通关-修正题数")
    private Integer amendNum;

    @ApiModelProperty("课次-另做总人数返回给账务的记录")
    private Integer lessonNum;

    private Integer lessonNumFinish;

    private String LessonNumNot;

    @ApiModelProperty("应通关")
    private Integer lowestShutnum;

    @ApiModelProperty("上课老师")
    private Long teacherId;

    @ApiModelProperty("班级id")
    private Long gradeId;

    private Long schedulingDetailId;

    private Integer isFinish;

    private Integer isLast;

    private Integer isFirst;

    private Long classTypeId;

    @TableField(exist = false)
    private String classTypeName;

    private Long createdId;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate addDate;

    @TableField(exist = false)
    private String studentName;
    @TableField(exist = false)
    private String gradeName;
    @TableField(exist = false)
    private Integer showPassNum;
    @TableField(exist = false)
    private Integer yetPassNum;
    @TableField(exist = false)
    private Integer notPassNum;
    @TableField(exist = false)
    private Integer datePassNum;
    @TableField(exist = false)
    private Integer lowestShutnumAll;//应通关总题数
    @TableField(exist = false)
    private Integer rightNumAll;//正确总题数
    @TableField(exist = false)
    private Integer amendNumAll;//修正总题数
    @TableField(exist = false)
    private Integer errorNumAll;//错误总题数

    /**
     * 1已通关，0未通关
     */
    @TableField(exist = false)
    private Integer passType;

    @TableField(exist = false)
    private Integer rightNumDate;//正确数，按日期查询的

    private Integer passRade;

    private  Integer brushCount;

    @TableField(exist = false)
    private Integer notBrushNum;

    @TableField(exist = false)
    private Integer againBrushNum;

    @TableField(exist = false)
    private Integer storeCount;

    @TableField(exist = false)
    private Integer drawUpCount;

    @ApiModelProperty("课次结，查询用")
    @TableField(exist = false)
    private Integer lessonNumStart;

    @ApiModelProperty("0老生‘1新生")
    @TableField(exist = false)
    private String include;

    @TableField(exist = false)
    private String passDateStart;
    @TableField(exist = false)
    private String passDateEnd;

    @TableField(exist = false)
    private Long schoolPid;

    @TableField(exist = false)
    private String teamName;

    @TableField(exist = false)
    private Long teamPid;

    @TableField(exist = false)
    private Long teamId;

    @TableField(exist = false)
    private String schoolName;

    @TableField(exist = false)
    private String linkmanPhone;

    @ApiModelProperty("完成人数")
    @TableField(exist = false)
    private String yetFinishCount;

    @ApiModelProperty("完成人数")
    @TableField(exist = false)
    private String dateYetFinishCount;

    @ApiModelProperty("应复刷人数")
    @TableField(exist = false)
    private Integer rebrushCount;

    @ApiModelProperty("已复刷人数")
    @TableField(exist = false)
    private Integer yetRebrushCount;

    @ApiModelProperty("日期范围内已复刷人数")
    @TableField(exist = false)
    private Integer dateYetRebrushCount;

    @ApiModelProperty("普通人数")
    @TableField(exist = false)
    private Integer ordinaryNum;

    @ApiModelProperty("进步人数")
    @TableField(exist = false)
    private Integer progressNum;

    @ApiModelProperty("优秀人数")
    @TableField(exist = false)
    private Integer excellentNum;

    @ApiModelProperty("学霸人数")
    @TableField(exist = false)
    private Integer apexNum;

    @ApiModelProperty("老师姓名")
    @TableField(exist = false)
    private String teacherName;

    @ApiModelProperty("成绩数据1")
    @TableField(exist = false)
    private BigDecimal rightRade;

    @ApiModelProperty("成绩数据2")
    @TableField(exist = false)
    private BigDecimal rightRade2;

    @ApiModelProperty("应通关2")
    @TableField(exist = false)
    private Integer lowestShutnum2;

    @ApiModelProperty("正确2")
    @TableField(exist = false)
    private Integer rightNum2;

    @ApiModelProperty("错误2")
    @TableField(exist = false)
    private Integer amendNum2;

    @ApiModelProperty("需修正人数")
    @TableField(exist = false)
    private Integer againAmendNum;

    @ApiModelProperty("已完成2")
    @TableField(exist = false)
    private Integer yetFinishCount2;

    @ApiModelProperty("完成2")
    @TableField(exist = false)
    private Integer dateYetFinishCount2;

    @ApiModelProperty("需修正2")
    @TableField(exist = false)
    private Integer againAmendNum2;

    @ApiModelProperty("复刷通关率应复刷")
    @TableField(exist = false)
    private Integer againBrushNum2;

    @ApiModelProperty("复刷未通")
    @TableField(exist = false)
    private Integer notAgainBrushCount;

    @ApiModelProperty("复刷已通")
    @TableField(exist = false)
    private Integer yetAgainBrushCount;

    @ApiModelProperty("复刷今日已通关")
    @TableField(exist = false)
    private Integer dateYetAgainBrushCount;




}
